home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: Panorama
/
Panorama - Disk 19D (1987-07-22)(Pacific North-West Amigas Club)[WB].zip
/
Panorama - Disk 19D (1987-07-22)(Pacific North-West Amigas Club)[WB].adf
/
PipeHandler1.2
/
pipesched.h
< prev
next >
Wrap
C/C++ Source or Header
|
1987-06-28
|
2KB
|
57 lines
/****************************************************************************
** File: pipesched.h
** Program: pipe-handler - an AmigaDOS handler for named pipes
** Version: 1.1
** Author: Ed Puckett qix@mit-oz
**
** Copyright 1987 by EpAc Software. All Rights Reserved.
**
** History: 05-Jan-87 Original Version (1.0)
** 07-Feb-87 Added "lockct" check in CheckWaiting().
*/
typedef enum iotype
{ PIPEREAD,
PIPEWRITE,
PIPERW
}
IOTYPE;
struct pipewait
{ BYTE *buf; /* the next position for read/write */
ULONG len; /* the remaining length t read/write */
IOTYPE reqtype; /* PIPEREAD or PIPEWRITE only */
};
struct tapwait
{ struct DosPacket *clientpkt; /* the client's packet */
struct FileHandle *handle; /* the associated filehandle */
};
union pktinfo
{ struct pipewait pipewait; /* for packet waiting on pipe */
struct tapwait tapwait; /* for packet waiting on tap */
};
typedef struct waitingdata
{ PIPELISTNODE link; /* for list use */
struct DosPacket *pkt; /* the packet we are waiting on */
union pktinfo pktinfo; /* data pertaining to the waiting request */
}
WAITINGDATA;
extern void StartPipeIO ( /* pipe, pkt, iotype */ );
extern void CheckWaiting ( /* pipe */ );
extern struct DosPacket *AllocPacket ( /* ReplyPort */ );
extern void FreePacket ( /* pkt */ );
extern void StartTapIO ( /* pkt, Type, Arg1, Arg2, Arg3, Handler */ );
extern void HandleTapReply ( /* pkt */ );